<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">
    <h:head>
        <title>Social Full Fun</title>
        <link rel="shortcut icon" type="image/x-icon" href="http://#{initParam['DIRECCION_SERVIDOR']}/Iconos/icono.ico"/>
    </h:head>
    <h:body>
        <ui:composition>
            <!-- Dialog nuevo evento-->
            <p:dialog id="dialogNuevoEventoID" header="Nuevo Evento"
                      widgetVar="dialogNuevoEvento" dynamic="true" closable="false">
                <p:messages id="messages3" autoUpdate="true" />
                <p:outputPanel id="panelNuevoEventoID" >
                    <h:panelGrid columns="2" cellspacing="5" >
                        <h:outputLabel value="Descripción:" />
                        <h:inputTextarea  cols="45" rows="5" 
                                          value="#{administracionLocalDataManager.evento.evDescripcion}"
                                          validatorMessage="La descripcion debe poseer máximo 800 caracteres"
                                          required="true"
                                          requiredMessage="La descripción es obligatoria">
                            <f:validateLength maximum="800" />
                        </h:inputTextarea>

                        <h:outputLabel value="Fecha de Inicio:" />
                        <p:calendar value="#{administracionLocalDataManager.evento.evFechaInicio}" 
                                    pattern="d/M/yyyy HH:mm" showOn="button" navigator="true"
                                    required="true" 
                                    requiredMessage="La fecha de inicio es requerido"/>

                        <h:outputLabel value="Fecha de fin:" />
                        <p:calendar value="#{administracionLocalDataManager.evento.evFechaFin}" 
                                    pattern="d/M/yyyy HH:mm" showOn="button"
                                    required="true" navigator="true"
                                    requiredMessage="La fecha fin es requerido"/>
                        <h:outputLabel value="Puntos:" />
                        <h:inputText size="5" value="#{administracionLocalDataManager.evento.evPuntos}"
                                     validatorMessage="El campo Puntos debe ser un dato numérico"
                                     converterMessage="El campo Puntos debe ser un dato numérico"
                                     required="true"
                                     requiredMessage="Los puntos son requeridos">
                            <f:validator binding="#{numeroValidador}" />
                        </h:inputText>

                    </h:panelGrid>
                    <h:panelGrid columns="2" cellspacing="5">
                        <p:commandButton id="botonNuevoEventolID" 
                                         widgetVar="botonNuevaSuc"
                                         value="Crear" action="#{administracionLocalControlador.creaNuevoEvento()}" 
                                         update=":formularioAdministracionLocalID:tabAdministracionLocalID panelNuevoEventoID"
                                         process="dialogNuevoEventoID" 

                                         />
                        <p:commandButton id="botonCancelarNuevoEventoID" 
                                         value="Salir" 
                                         oncomplete="dialogNuevoEvento.hide();"
                                         update=":formularioAdministracionLocalID:tabAdministracionLocalID"
                                         process="@this">
                            <f:setPropertyActionListener target="#{administracionLocalDataManager.evento}" value="#{null}"/>
                        </p:commandButton>
                    </h:panelGrid>

                </p:outputPanel>
            </p:dialog>
            <!-- Dialog editar evento-->
            <p:dialog id="dialogEditarEventoID" header="Nuevo Evento"
                      widgetVar="dialogEditarEvento" dynamic="true" closable="false">
                <p:messages id="messagesEditarEvento" autoUpdate="true" />
                <p:outputPanel id="panelEditarEventoID" >
                    <h:panelGrid columns="2" cellspacing="5" >
                        <h:outputLabel value="Descripción:" />
                        <h:inputTextarea  cols="45" rows="5" 
                                          value="#{administracionLocalDataManager.evento.evDescripcion}"
                                          validatorMessage="La descripcion debe poseer máximo 800 caracteres"
                                          required="true"
                                          requiredMessage="La descripción es obligatoria">
                            <f:validateLength maximum="800" />
                        </h:inputTextarea>

                        <h:outputLabel value="Fecha de Inicio:" />
                        <p:calendar value="#{administracionLocalDataManager.evento.evFechaInicio}" 
                                    pattern="d/M/yyyy HH:mm" showOn="button" navigator="true"
                                    required="true" 
                                    requiredMessage="La fecha de inicio es requerido"/>

                        <h:outputLabel value="Fecha de fin:" />
                        <p:calendar value="#{administracionLocalDataManager.evento.evFechaFin}" 
                                    pattern="d/M/yyyy HH:mm" showOn="button"
                                    required="true" navigator="true"
                                    requiredMessage="La fecha fin es requerido"/>
                        <h:outputLabel value="Puntos:" />
                        <h:inputText size="5" value="#{administracionLocalDataManager.evento.evPuntos}"
                                     validatorMessage="El campo Puntos debe ser un dato numérico"
                                     converterMessage="El campo Puntos debe ser un dato numérico"
                                     required="true"
                                     requiredMessage="Los puntos son requeridos">
                            <f:validator binding="#{numeroValidador}" />
                        </h:inputText>

                        <h:outputLabel value="Estado:"/>
                        <h:selectOneMenu value="#{administracionLocalDataManager.evento.evEstado}"
                                         required="true" requiredMessage="El estado es requerido">
                            <f:selectItems value="#{administracionLocalControlador.selectItemEstados}"/>
                        </h:selectOneMenu>
                    </h:panelGrid>
                    <h:panelGrid columns="2" cellspacing="5">
                        <p:commandButton id="botonEditarEventolID" 
                                         widgetVar="botonEditarEvento"
                                         value="Editar" action="#{administracionLocalControlador.editarEvento()}" 
                                         update=":formularioAdministracionLocalID:tabAdministracionLocalID panelEditarEventoID"
                                         process="dialogEditarEventoID" 

                                         />
                        <p:commandButton id="botonCancelarEditarEventoID" 
                                         value="Salir" 
                                         oncomplete="dialogEditarEvento.hide();"
                                         update=":formularioAdministracionLocalID:tabAdministracionLocalID"
                                         process="@this">
                            <f:setPropertyActionListener target="#{administracionLocalDataManager.evento}" value="#{null}"/>
                        </p:commandButton>
                    </h:panelGrid>

                </p:outputPanel>
            </p:dialog>
            <!-- Dialog nueva sucursal-->
            <p:dialog id="dialogNuevaSucursalID" header="Nueva Sucursal"
                      widgetVar="dialogNueva" dynamic="true" closable="false">
                <p:messages id="messages2" autoUpdate="true" /> 
                <p:outputPanel id="panelNuevaSucursalID" >
                    <h:panelGrid columns="2" cellspacing="5">
                        <h:outputLabel value="Nombre"/>
                        <h:inputText value="#{administracionLocalDataManager.sucursal.suNombre}"
                                     required="true"
                                     requiredMessage="El nombre es obligatorio"
                                     validatorMessage="El nombre debe poseer máximo 50 caracteres">
                            <f:validateLength maximum="50"/>
                        </h:inputText>
                    </h:panelGrid>
                    <h:panelGrid columns="2" cellspacing="5" >
                        <h:outputLabel value="Descripción:" />
                        <h:inputTextarea  cols="45" rows="5" 
                                          value="#{administracionLocalDataManager.sucursal.suDescripcion}"
                                          validatorMessage="La descripción debe poseer máximo 800 caracteres"
                                          required="true"
                                          requiredMessage="La descripción es obligatoria">
                            <f:validateLength maximum="800" />
                        </h:inputTextarea>
                    </h:panelGrid>
                    <h:panelGrid columns="4" cellspacing="3">
                        <h:outputLabel value="Latitud:" />
                        <h:inputText id="latitudNuevaSucursalID" value="#{administracionLocalDataManager.sucursal.suLatitud}"
                                     required="true"
                                     requiredMessage="La latitud es obligatoria"
                                     validatorMessage="La latitud debe ser un dato numérico">
                            <f:validator binding="#{numeroValidador}" />
                        </h:inputText>

                        <h:outputLabel value="Longuitud:" />
                        <h:inputText id="longuitudNuevaSucursalID" value="#{administracionLocalDataManager.sucursal.suLonguitud}"
                                     required="true"
                                     requiredMessage="La longuitud es obligatoria"
                                     validatorMessage="La longuitud debe ser un dato numérico" >
                            <f:validator binding="#{numeroValidador}" />
                        </h:inputText>
                    </h:panelGrid>
                    <h:panelGrid columns="2" cellspacing="3"> 
                        <h:outputLabel value="Dirección:" />
                        <h:inputTextarea  cols="45" rows="5"   
                                          value="#{administracionLocalDataManager.sucursal.suDireccion}"
                                          validatorMessage="La dirección debe poseer máximo 200 caracteres"
                                          required="true"
                                          requiredMessage="La dirección es obligatoria">
                            <f:validateLength maximum="200" />
                        </h:inputTextarea>
                        <h:outputLabel value="Capacidad:"/>
                        <h:inputText  id="capacidadNuevaSucursalID" value="#{administracionLocalDataManager.sucursal.suCapacidad}"
                                      required="true"
                                      requiredMessage="La capacidad es obligatoria"
                                      validatorMessage="La capacidad debe ser un dato numérico" >
                            <f:validator binding="#{numeroValidador}" />
                        </h:inputText>
                    </h:panelGrid>
                    <h:panelGrid columns="3" cellspacing="5">
                        <h:outputText value="Días de Atención Desde - Hasta"/>
                        <h:selectOneMenu value="#{administracionLocalDataManager.sucursal.suDiaAtencionDesde}"  
                                         required="true" requiredMessage="Los días de atención son requeridos">
                            <f:selectItems value="#{administracionLocalControlador.selectItemDiasSemana}"/>
                        </h:selectOneMenu>
                        <h:selectOneMenu value="#{administracionLocalDataManager.sucursal.suDiaAtencionHasta}"  
                                         required="true" requiredMessage="Los días de atención son requeridos">
                            <f:selectItems value="#{administracionLocalControlador.selectItemDiasSemana}"/>
                        </h:selectOneMenu>
                    </h:panelGrid>
                    <h:panelGrid columns="3" cellspacing="5">
                        <h:outputText value="Horario de Atención Desde - Hasta"/>
                        <p:calendar value="#{administracionLocalDataManager.sucursal.horaDesde}" pattern="HH:mm" timeOnly="true" 
                                    required="true" requiredMessage="La hora es requerida"/>
                        <p:calendar value="#{administracionLocalDataManager.sucursal.horaHasta}" pattern="HH:mm" timeOnly="true" 
                                    required="true" requiredMessage="La hora es requerida"/>
                    </h:panelGrid>
                    <h:panelGrid columns="3" cellspacing="3"> 
                        <h:outputLabel value="Teléfonos:" />
                        <h:inputText value="#{administracionLocalDataManager.sucursal.suTelefonoUno}"
                                     validatorMessage="El teléfono debe poseer máximo 15 caracteres">
                            <f:validateLength maximum="15" />
                        </h:inputText>
                        <h:inputText value="#{administracionLocalDataManager.sucursal.suTelefonoDos}"
                                     validatorMessage="El teléfono debe poseer máximo 15 caracteres">
                            <f:validateLength maximum="15" />
                        </h:inputText>
                    </h:panelGrid>
                    <h:outputLabel value="Ubicación:" />
                    <h:panelGrid columns="3" cellspacing="5">

                        <h:selectOneMenu value="#{administracionLocalDataManager.pais}" >
                            <f:converter converterId="paisConvertidor" />
                            <f:selectItems value="#{administracionLocalControlador.selectItemPais}"/>
                            <p:ajax event="change" update="listaCiudadesNuevaSucursalID listaZonasNuevaSucursalID" 
                                    listener="#{administracionLocalControlador.limpiarCiudad}">
                            </p:ajax>   

                        </h:selectOneMenu> 

                        <h:selectOneMenu id="listaCiudadesNuevaSucursalID" value="#{administracionLocalDataManager.ciudad}"  >
                            <f:converter converterId="ciudadConvertidor" />
                            <f:selectItems value="#{administracionLocalControlador.selectItemCiudad}"/>
                            <p:ajax event="change" update="listaZonasNuevaSucursalID" process="@this"/>
                        </h:selectOneMenu>

                        <h:selectOneMenu id="listaZonasNuevaSucursalID"  
                                         value="#{administracionLocalDataManager.sucursal.zoCodigo}" 
                                         required="true" 
                                         requiredMessage="La zona es requerido" >
                            <f:converter converterId="zonaConvertidor" />
                            <f:selectItems value="#{administracionLocalControlador.selectItemZona}"/>
                        </h:selectOneMenu>

                    </h:panelGrid>
                    <h:panelGrid columns="2" cellspacing="5">
                        <p:commandButton id="botonNuevaSucursalID" 
                                         value="Crear" action="#{administracionLocalControlador.creaNuevaSucursal()}" 
                                         update=":formularioAdministracionLocalID:tabAdministracionLocalID"
                                         process="dialogNuevaSucursalID"
                                         />  

                        <p:commandButton id="botonCancelarNuevaSucursalID" 
                                         value="Salir" 
                                         oncomplete="dialogNueva.hide();"
                                         update=":formularioAdministracionLocalID:tabAdministracionLocalID"
                                         process="@this">
                            <f:setPropertyActionListener target="#{administracionLocalDataManager.sucursal}" value="#{null}"/>
                        </p:commandButton>
                    </h:panelGrid>

                </p:outputPanel>

            </p:dialog>


            <!-- Edicion sucursal -->
            <p:dialog id="dialogEditarSucursalID" header="Edición Sucursal"
                      widgetVar="dialogEditar" dynamic="true">  
                <p:messages id="messages1" autoUpdate="true" /> 
                <p:outputPanel id="panelEdicionSucursalID" 
                               layout="block" >

                    <h:panelGrid columns="2" cellspacing="5" >
                        <h:outputLabel value="Nombre:" />
                        <h:inputTextarea  
                            value="#{administracionLocalDataManager.sucursal.suNombre}"
                            validatorMessage="El nombre debe poseer máximo 50 caracteres"
                            required="true"
                            requiredMessage="El nombre es obligatorio">
                            <f:validateLength maximum="50" />
                        </h:inputTextarea>
                        <h:outputLabel value="Descripción:" />
                        <h:inputTextarea  cols="45" rows="5" 
                                          value="#{administracionLocalDataManager.sucursal.suDescripcion}"
                                          validatorMessage="La descripción debe poseer máximo 800 caracteres"
                                          required="true"
                                          requiredMessage="La descripción es obligatorio">
                            <f:validateLength maximum="800" />
                        </h:inputTextarea>
                    </h:panelGrid>
                    <h:panelGrid columns="4" cellspacing="3">
                        <h:outputLabel value="Latitud:" />
                        <h:inputText id="latitudEdicionSucursalID" value="#{administracionLocalDataManager.sucursal.suLatitud}"
                                     required="true" 
                                     requiredMessage="La latitud es una valor obligatorio"
                                     validatorMessage="La latitud debe ser un dato numérico">
                            <f:validator binding="#{numeroValidador}" />
                        </h:inputText>

                        <h:outputLabel value="Longuitud:" />
                        <h:inputText id="longuitudEdicionSucursalID" value="#{administracionLocalDataManager.sucursal.suLonguitud}"
                                     required="true" 
                                     requiredMessage="La longuitud es una valor obligatorio"
                                     validatorMessage="La longuitud debe ser un dato numérico">
                            <f:validator binding="#{numeroValidador}" />
                        </h:inputText>
                    </h:panelGrid>
                    <h:panelGrid columns="2" cellspacing="3"> 
                        <h:outputLabel value="Dirección:" />
                        <h:inputTextarea  cols="45" rows="5"  
                                          value="#{administracionLocalDataManager.sucursal.suDireccion}"
                                          validatorMessage="La dirección debe poseer máximo 200 caracteres"
                                          required="true"
                                          requiredMessage="La dirección es obligatoria">
                            <f:validateLength maximum="200" />
                        </h:inputTextarea>
                        <h:outputLabel value="Capacidad: " />
                        <h:inputText  id="capacidadEdicionSucursalID" value="#{administracionLocalDataManager.sucursal.suCapacidad}"
                                      required="true"
                                      requiredMessage="La capacidad es obligatoria"
                                      validatorMessage="La capacidad debe ser un dato numérico" >
                            <f:validator binding="#{numeroValidador}" />
                        </h:inputText>
                    </h:panelGrid>
                     <h:panelGrid columns="3" cellspacing="5">
                        <h:outputText value="Días de Atención Desde - Hasta"/>
                        <h:selectOneMenu value="#{administracionLocalDataManager.sucursal.suDiaAtencionDesde}"  
                                         required="true" requiredMessage="Los días de atención son requeridos">
                            <f:selectItems value="#{administracionLocalControlador.selectItemDiasSemana}"/>
                        </h:selectOneMenu>
                        <h:selectOneMenu value="#{administracionLocalDataManager.sucursal.suDiaAtencionHasta}"  
                                         required="true" requiredMessage="Los días de atención son requeridos">
                            <f:selectItems value="#{administracionLocalControlador.selectItemDiasSemana}"/>
                        </h:selectOneMenu>
                    </h:panelGrid>
                    <h:panelGrid columns="3" cellspacing="5">
                        <h:outputText value="Horario de Atención Desde - Hasta"/>
                        <p:calendar value="#{administracionLocalDataManager.sucursal.horaDesde}" pattern="HH:mm" timeOnly="true" 
                                    required="true" requiredMessage="La hora es requerida"/>
                        <p:calendar value="#{administracionLocalDataManager.sucursal.horaHasta}" pattern="HH:mm" timeOnly="true"
                                    required="true" requiredMessage="La hora es requerida"/>
                    </h:panelGrid>
                    <h:panelGrid columns="3" cellspacing="3"> 
                        <h:outputLabel value="Teléfonos:" />
                        <h:inputText value="#{administracionLocalDataManager.sucursal.suTelefonoUno}"
                                     validatorMessage="El teléfono debe poseer máximo 15 caracteres">
                            <f:validateLength maximum="15" />
                        </h:inputText>
                        <h:inputText value="#{administracionLocalDataManager.sucursal.suTelefonoDos}"
                                     validatorMessage="El teléfono debe poseer máximo 15 caracteres">
                            <f:validateLength maximum="15" />
                        </h:inputText>
                    </h:panelGrid>

                    <h:outputLabel value="Ubicación:" />
                    <h:panelGrid columns="3" cellspacing="5">

                        <h:selectOneMenu value="#{administracionLocalDataManager.pais}" >
                            <f:converter converterId="paisConvertidor" />
                            <f:selectItems value="#{administracionLocalControlador.selectItemPais}"/>
                            <p:ajax event="change" update="listaCiudadesID listaZonasID" 
                                    listener="#{administracionLocalControlador.limpiarCiudad}">
                            </p:ajax>   

                        </h:selectOneMenu> 

                        <h:selectOneMenu id="listaCiudadesID" value="#{administracionLocalDataManager.ciudad}"  >
                            <f:converter converterId="ciudadConvertidor" />
                            <f:selectItems value="#{administracionLocalControlador.selectItemCiudad}"/>
                            <p:ajax event="change" update="listaZonasID"/>
                        </h:selectOneMenu>

                        <h:selectOneMenu id="listaZonasID"  
                                         value="#{administracionLocalDataManager.sucursal.zoCodigo}" 
                                         required="true" 
                                         requiredMessage="La zona es requerido" >
                            <f:converter converterId="zonaConvertidor" />
                            <f:selectItems value="#{administracionLocalControlador.selectItemZona}"/>
                        </h:selectOneMenu>

                    </h:panelGrid>


                    <h:panelGrid columns="2" cellspacing="5">
                        <p:commandButton id="botonActualizarDatosSucursalID" 
                                         value="Guardar" action="#{administracionLocalControlador.actualizarSucursal()}" 
                                         update=":formularioAdministracionLocalID:tabAdministracionLocalID"
                                         process="dialogEditarSucursalID"
                                         onclick="this.disabled=true" />
                        <p:commandButton id="botonCancelarActualizarSucursalID" 
                                         value="Salir"
                                         oncomplete="dialogEditar.hide();"
                                         update=":formularioAdministracionLocalID:tabAdministracionLocalID"
                                         process="@this">
                            <f:setPropertyActionListener target="#{administracionLocalDataManager.sucursal}" value="#{null}"/>
                        </p:commandButton>
                    </h:panelGrid>

                </p:outputPanel>
            </p:dialog>

            <!--Dialogo Subir Imagen Sucursal-->
            <p:dialog id="dialogSubirFotoSucursalID" header="Edición Sucursal"
                      widgetVar="dialogSubirFoto" dynamic="true">
                <h:panelGrid id="panelImagenSucID" columns="2">
                    <h:outputLabel value="Cargar Imagen:" />
                    <p:fileUpload cancelLabel="Cancelar" label="BuscarFoto" uploadLabel="SubirFoto" id="cargaImagenSucursalID" fileUploadListener="#{administracionLocalControlador.subirFoto}" 
                                  allowTypes="/(\.|\/)(gif|jpe?g|png)$/" sizeLimit="100000" 
                                  update="panelImagenSuCargadaID"/>
                    <h:outputLabel value="foto:"/>
                    <p:outputPanel id="panelImagenSuCargadaID">
                        <h:graphicImage id="imagenSuCargadaID" value="#{administracionLocalDataManager.sucursal.suImagen}" width="50" height="50"
                                        rendered="#{administracionLocalDataManager.referenciaAImagenes}"/>
                        <p:graphicImage  height="50" width="50" value="#{administracionLocalDataManager.imagenTemporal}" cache="false"
                                         rendered="#{!administracionLocalDataManager.referenciaAImagenes}"/>
                    </p:outputPanel>
                </h:panelGrid>
                <h:panelGrid columns="2" cellspacing="5">
                    <p:commandButton 
                        value=" Aceptar"
                        action="#{administracionLocalControlador.actualizarImagen()}"
                        onclick="this.disabled=true"
                        update=":formularioAdministracionLocalID:tabAdministracionLocalID"
                        process="@this">      
                    </p:commandButton>
                    <p:commandButton 
                        value="Salir"
                        oncomplete="dialogSubirFoto.hide();"
                        update=":formularioAdministracionLocalID:tabAdministracionLocalID"
                        process="@this">
                        <f:setPropertyActionListener target="#{administracionLocalDataManager.sucursal}" value="#{null}"/>
                    </p:commandButton>

                </h:panelGrid>
            </p:dialog>

            <!-- Dialog cargar foto evento-->
            <p:dialog id="dialogSubirFotoEventoID" header="Edicion Evento"
                      widgetVar="dialogSubirFotoEvento" dynamic="true">
                <h:panelGrid id="panelImagenEventoID" columns="2">
                    <h:outputLabel value="Cargar Imagen:" />
                    <p:fileUpload label="BuscarFoto" uploadLabel="SubirFoto" cancelLabel="Cancelar" id="cargaImagenEventoID" fileUploadListener="#{administracionLocalControlador.subirFotoEvento}" 
                                  allowTypes="/(\.|\/)(gif|jpe?g|png)$/" sizeLimit="100000" 
                                  update="panelImagenEventoCargadaID"/>
                    <h:outputLabel value="foto:"/>
                    <p:outputPanel id="panelImagenEventoCargadaID">
                        <h:graphicImage id="imagenEventoCargadaID" value="#{administracionLocalDataManager.evento.evFoto}" width="50" height="50" 
                                        rendered="#{administracionLocalDataManager.referenciaAImagenes}"/>
                        <p:graphicImage  height="50" width="50" value="#{administracionLocalDataManager.imagenTemporal}" cache="false"
                                         rendered="#{!administracionLocalDataManager.referenciaAImagenes}"/>
                    </p:outputPanel>
                </h:panelGrid>
                <h:panelGrid columns="2" cellspacing="5">
                    <p:commandButton 
                        value=" Aceptar"
                        action="#{administracionLocalControlador.actualizarImagenEvento()}"
                        onclick="this.disabled=true"
                        update=":formularioAdministracionLocalID:tabAdministracionLocalID"
                        process="@this">      
                    </p:commandButton>
                    <p:commandButton 
                        value="Salir"
                        oncomplete="dialogSubirFotoEvento.hide();"
                        update=":formularioAdministracionLocalID:tabAdministracionLocalID"
                        process="@this">
                        <f:setPropertyActionListener target="#{administracionLocalDataManager.evento}" value="#{null}"/>
                    </p:commandButton>

                </h:panelGrid>
            </p:dialog>
            <!-- Editar Productos-->
            <p:dialog id="dialogEditarProductosID" header="Edición Productos"
                      widgetVar="dialogProducto" dynamic="true">  
                <p:messages id="messagesProducto" autoUpdate="true" /> 
                <p:outputPanel id="panelEdicionProductoID" 
                               layout="block" >
                    <h:panelGrid id="panelImagenProID" columns="2">
                        <h:outputLabel value="Cargar Imagen:" />
                        <p:fileUpload cancelLabel="Cancelar" label="BuscarFoto" uploadLabel="SubirFoto" id="cargaImagenProductoID" fileUploadListener="#{ingresoProductosCartaControlador.subirFotoProducto}" 
                                      allowTypes="/(\.|\/)(gif|jpe?g|png)$/" sizeLimit="100000" 
                                      update="panelImagenProCargadaID"/>
                        <h:outputLabel value="foto:"/>
                        <p:outputPanel id="panelImagenProCargadaID">
                            <h:graphicImage id="imagenProCargadaID" value="#{ingresoProductosCartaDataManager.productos.prImagen}" width="50" height="50"/>
                        </p:outputPanel>
                    </h:panelGrid>
                    <h:panelGrid columns="2" cellspacing="5">
                        <h:outputText value="Producto"/>
                        <h:inputText value="#{ingresoProductosCartaDataManager.productos.prNombre}"/>
                        <h:outputText value="Descripción"/>
                        <h:inputTextarea  cols="45" rows="5" 
                                          value="#{ingresoProductosCartaDataManager.productos.prDescripcion}"
                                          validatorMessage="La descripcion debe poseer máximo 500 caracteres">
                            <f:validateLength maximum="500" />
                        </h:inputTextarea>
                        <h:outputText value="Precio"/>
                        <h:inputText value ="#{ingresoProductosCartaDataManager.productos.prPrecio}"
                                     validatorMessage="El campo Precio debe ser un dato numérico"
                                     converterMessage="El campo Precio debe ser un dato numérico">
                            <f:validator binding="#{numeroValidador}" />
                        </h:inputText>
                        <h:outputLabel value="Puntos" />
                        <h:inputText size="5" value="#{ingresoProductosCartaDataManager.productos.prPuntos}"
                                     validatorMessage="El campo Puntos debe ser un dato numérico"
                                     converterMessage="El campo Puntos debe ser un dato numérico">
                            <f:validator binding="#{numeroValidador}" />
                        </h:inputText>
                        <h:outputLabel value="Estado"/>
                        <h:selectOneMenu value="#{ingresoProductosCartaDataManager.productos.prEstado}">
                            <f:selectItems value="#{ingresoProductosCartaControlador.selectItemEstados}"/>
                        </h:selectOneMenu>
                    </h:panelGrid>
                    <h:panelGrid columns="2" cellspacing="5">
                        <p:commandButton id="botonActualizarProductosID" 
                                         value="Guardar"
                                         action="#{ingresoProductosCartaControlador.actualizarProducto()}"
                                         update=":formularioProductosCartalID:tablaProductosID"
                                         process="dialogEditarProductosID"
                                         onclick="this.disabled=true" />
                        <p:commandButton id="botonCancelarProductosID" 
                                         value="Salir"
                                         oncomplete="dialogProducto.hide();"
                                         update=":formularioProductosCartalID"
                                         process="@this">
                        </p:commandButton>
                    </h:panelGrid>

                </p:outputPanel>
            </p:dialog>
        </ui:composition>
    </h:body>
</html>

